package com.ruoyi.devops.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.devops.domain.*;
import com.ruoyi.devops.domain.vo.CheckVo;
import com.ruoyi.devops.domain.vo.HisReportVo;
import com.ruoyi.devops.mapper.ComTemplateMapper;

import java.util.List;
import java.util.Map;

public interface IDevopsService {

    List<DeviceInfo> queryDeviceInfo();

    List<SoftwareInfo> querySoftwareInfo();

    AjaxResult queryHistoryReports(Map<String,String> map);

    Map comcheck(CheckVo checkVo);

    // 合规检查模板
    List<ComTemplate> queryComTemplate(String id, String tempName);
    int deleteComTemplate(String id);
    int updateComTemplate(ComTemplate comTemplate);
    int addComTemplate(ComTemplate comTemplate);
    void enableComTemplate(String id);
    List<ComTemplate> queryEnableComTemplate();

    // 合规检查模块
    List<ComModule> queryComModule(String id, String moduleName);
    int deleteComModule(String id);
    int updateComModule(ComModule comModule);
    int addComModule(ComModule comModule);

    // 检查项
    List<CheckDep> queryCheckDep(String id, String depName, String isadmin);
    int deleteCheckDep(String id);
    int updateCheckDep(CheckDep checkDep);
    int addCheckDep(CheckDep checkDep);
    int checkCheckDep(String id);

    // 漏洞
    List<DsHole> queryDsHole();
    Map searchDsHole();

    // 指标采集脚本
    List<IndexScript> queryIndexScript(String id,String state);
    int checkIndexScript(String id);

    Integer insertHistoryReports(HisReportVo hisReportVo);

    void enableComTemplate2(String id);

    String InsertIndexScript(IndexScript indexScript);
}
